package com.ulife.permission.common;

import org.apache.commons.lang.StringUtils;

public enum PageEnum {

	/**
	 * 角色管理页面
	 */
	ROLE_LIST(PagePermissionConstants.ROLE_LIST, PagePermissionConstants.ROLE_LIST_ID),
	
	/**
	 * 角色配置页面
	 */
	ROLE_INFO(PagePermissionConstants.ROLE_INFO, PagePermissionConstants.ROLE_INFO_ID),
	
	/**
	 * 用户管理页面
	 */
	USER_LIS(PagePermissionConstants.USER_LIST, PagePermissionConstants.USER_LIST_ID),
	
	/**
	 * 授权页面
	 */
	USER_INFO(PagePermissionConstants.USER_INFO, PagePermissionConstants.USER_INFO_ID),
	
	/**
	 * 部门管理
	 */
	DEPARTMENT_LIST(PagePermissionConstants.DEPARTMENT_LIST, PagePermissionConstants.DEPARTMENT_LIST_ID),
	
	CATE_LIST(PagePermissionConstants.CATE_LIST, PagePermissionConstants.CATE_LIST_ID),
	
	PROPERTY_LIST(PagePermissionConstants.PROPERTY_LIST, PagePermissionConstants.PROPERTY_LIST_ID),
	
	ITEM_LIST(PagePermissionConstants.ITEM_LIST, PagePermissionConstants.ITEM_LIST_ID),

	SUPPLIER_LIST(PagePermissionConstants.SUPPLIER_LIST, PagePermissionConstants.SUPPLIER_LIST_ID);
	
	private String page;
	
	private String pageId;

	public String getPage() {
		return page;
	}

	public String getPageId() {
		return pageId;
	}
	
	private PageEnum(String page, String pageId) {
		this.page = page;
		this.pageId = pageId;
	}
	
	public static PageEnum getPageEnum(String page) {
		if(StringUtils.isNotBlank(page)) {
			for(PageEnum p : PageEnum.values()) {
				if(StringUtils.equals(p.getPage(), page)) {
					return p;
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+page);
	}
	

	public static PageEnum ggetPageEnumById(String pageId) {
		if(StringUtils.isNotBlank(pageId)) {
			for(PageEnum p : PageEnum.values()) {
				if(StringUtils.equals(p.getPageId(), pageId)) {
					return p;
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+pageId);
	}
	
	public static String getPage(String pageId) {
		if(StringUtils.isNotBlank(pageId)) {
			for(PageEnum p : PageEnum.values()) {
				if(StringUtils.equals(p.getPageId(), pageId)) {
					return p.getPage();
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+pageId);
	}
	
	public static String getPageId(String page) {
		if(StringUtils.isNotBlank(page)) {
			for(PageEnum p : PageEnum.values()) {
				if(StringUtils.equals(p.getPage(), page)) {
					return p.getPageId();
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+page);
	}
	
}
